package com.ruoyi.app.service.impl;

import java.util.List;

import com.ruoyi.app.domain.CaseCountVO;
import com.ruoyi.common.annotation.AppDataScope;
import com.ruoyi.common.annotation.DataScope;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.app.mapper.AppCaseInfoMapper;
import com.ruoyi.app.domain.AppCaseInfo;
import com.ruoyi.app.service.IAppCaseInfoService;
import com.ruoyi.common.core.text.Convert;

/**
 * 案件信息Service业务层处理
 * 
 * @author ruoyi
 * @date 2019-12-10
 */
@Service
public class AppCaseInfoServiceImpl implements IAppCaseInfoService 
{
    @Autowired
    private AppCaseInfoMapper appCaseInfoMapper;

    /**
     * 查询案件信息
     * 
     * @param id 案件信息ID
     * @return 案件信息
     */
    @Override
    public AppCaseInfo selectAppCaseInfoById(Long id)
    {
        return appCaseInfoMapper.selectAppCaseInfoById(id);
    }

    @Override
    public AppCaseInfo selectAppCaseInfoByCaseCode(String caseCode) {
        return appCaseInfoMapper.selectAppCaseInfoByCaseCode(caseCode);
    }

    @Override
    public AppCaseInfo selectAppCaseInfoBySearch(String caseCode, String clericalCode, String litiClericalWord) {
        return appCaseInfoMapper.selectAppCaseInfoBySearch(caseCode,clericalCode,litiClericalWord);
    }

    /**
     * 查询案件信息列表
     * 
     * @param appCaseInfo 案件信息
     * @return 案件信息
     */
    @Override
    @DataScope(deptAlias = "d")
    public List<AppCaseInfo> selectAppCaseInfoList(AppCaseInfo appCaseInfo)
    {
        return appCaseInfoMapper.selectAppCaseInfoList(appCaseInfo);
    }


    @Override
    public void updateAppCaseInfoState(AppCaseInfo appCaseInfo) {
        appCaseInfoMapper.updateAppCaseInfoState(appCaseInfo);
    }

    @Override
    public List<CaseCountVO> selectCaseCountList(AppCaseInfo appCaseInfo) {
        return appCaseInfoMapper.selectCaseCountList(appCaseInfo);
    }

    /**
     * 新增案件信息
     * 
     * @param appCaseInfo 案件信息
     * @return 结果
     */
    @Override
    public int insertAppCaseInfo(AppCaseInfo appCaseInfo)
    {
        appCaseInfo.setCreateTime(DateUtils.getNowDate());
        return appCaseInfoMapper.insertAppCaseInfo(appCaseInfo);
    }

    /**
     * 修改案件信息
     * 
     * @param appCaseInfo 案件信息
     * @return 结果
     */
    @Override
    public int updateAppCaseInfo(AppCaseInfo appCaseInfo)
    {
        return appCaseInfoMapper.updateAppCaseInfo(appCaseInfo);
    }

    /**
     * 删除案件信息对象
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    @Override
    public int deleteAppCaseInfoByIds(String ids)
    {
        return appCaseInfoMapper.deleteAppCaseInfoByIds(Convert.toStrArray(ids));
    }

    /**
     * 删除案件信息信息
     * 
     * @param id 案件信息ID
     * @return 结果
     */
    @Override
    public int deleteAppCaseInfoById(Long id)
    {
        return appCaseInfoMapper.deleteAppCaseInfoById(id);
    }
}
